Communication system, apparatus and method

ABSTRACT

An example remote control device includes an inertial sensor; one or more manipulable input devices; wireless communication circuitry; and control circuitry for controlling the wireless communication circuitry to communicate information about the inertial sensor and the input devices to an electronic device. The information is communicated at one or more communication intervals using a data format which permits a value associated with the inertial sensor and sampled at a given sampling time to be communicated in at least first and second different communications.

FIELD

The present disclosure generally describes a communication system forcommunicating information between two electronic devices and, moreparticularly, a communication system for communicating informationbetween a remote control device (such as, but not limited to, a gamecontroller) and an information processing device (such as, but notlimited to, a video game device).

BACKGROUND AND SUMMARY

The present disclosure relates to a data format for wirelesscommunication between electronic devices. By way of illustration andwithout limitation, the data format may be used to wirelesslycommunicate information between one or more remote control devices andan information processing device such as a video game device. Forexample, information transmitted from the remote control device may beused to control one or more processes of the information processingdevice. The transmitted information may include information aboutbuttons, keys, joysticks, sensors, etc.

By way of example, a remote control device may include an inertialsensor; one or more manipulable input devices; wireless communicationcircuitry; and control circuitry for controlling the wirelesscommunication circuitry to communicate information about the inertialsensor and the input devices to an electronic device. The information iscommunicated at one or more communication intervals using a data formatwhich permits a value associated with the inertial sensor and sampled ata given sampling time to be communicated in at least first and seconddifferent communications.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a generalized block diagram of a communication systemaccording to a non-limiting example embodiment.

FIG. 2 shows a non-limiting example remote control device.

FIG. 3 shows another non-limiting example remote control device.

FIG. 4 shows a non-limiting example information processing device.

FIG. 5 shows a non-limiting example command sequence for communicationsystem of FIG. 1.

FIGS. 6A and 6B show non-limiting example output and input reportinformation, respectively.

FIGS. 7A and 7B show non-limiting example output and input data formats,respectively.

FIG. 8 is a flow chart illustrating a non-limiting example method forsetting the communication interval for communication between a remotecontrol device and an information processing device.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The figures discussed herein, and the various embodiments used todescribe the principles of the present disclosure in this patentdocument are by way of illustration only and should not be construed inany way to limit the scope of the disclosure. Those skilled in the artwill understand that the principles of the present disclosure may beimplemented in any of a variety of suitably arranged electronic devices.Hereinafter, example embodiments of the present disclosure are describedin detail with reference to the accompanying drawings. In the followingdescription, detailed descriptions of well-known functions orconfigurations are omitted to avoid unnecessarily obscuring the subjectmatter of the present disclosure.

The present disclosure relates to data formats for wirelesscommunication between electronic devices. By way of illustration andwithout limitation, an example data format may be used to wirelesslycommunicate information between one or more remote control devices andan information processing device such as a video game device. In thecase of a video game device, each player manipulates remote controldevice(s) to provide inputs for, for example, controlling game play forsingle player or multi-player games. For example, inputs to the remotecontrol devices may be used to control objects (e.g., movements andactions of characters, etc.) in a virtual game world. In some instances,each player may manipulate a single remote control device (e.g., usingone or two hands) to provide inputs and, in other instances, each playermay manipulate two or more remote control devices (e.g., one in eachhand) to provide inputs. Of course, different players playing the samegame may use different types or different numbers of remote controldevices. Also, it will be readily appreciated that remote controldevices are not limited to those that are hand-held by a player. Forexample, remote control devices may be additionally or alternativelysecured to a player's hands, arms, legs, etc. to provide inputs forvideo game control.

As mentioned, the video game device processes information correspondingto inputs to the remote control devices to control game play of thevideo game. These inputs to the remote control devices may include, butare not limited to, button presses, manipulations of an analog stick,and orientation changes and/or movement of the remote control devices inthree-dimensional (3D) real space. Such orientation changes and movementmay be detected using multi-axis inertial sensors such as accelerometersand/or gyroscopes which detect aspects of orientation and/or movement ofthe remote control device resulting from how the player holds and movesthe remote control device in 3D real space. The data formats describedherein enable communication of information corresponding to such inputsfrom one or more remote control devices to a video game device.

FIG. 1 is a generalized block diagram of a communication system 100according to a non-limiting example embodiment of the presentdisclosure. Communication system 100 includes remote control devices102-1, 102-2, . . . 102-n and an information processing device 104.Remote control devices 102 and information processing device 104communicate with each other (e.g., bidirectional communication) via acommunication network 120. As noted above, the information processingdevice may be an electronic device configured to perform one or moreprocesses or functions (such as video game play) based on an applicationprogram executed by the information processing device and inputs to theremote control devices supplied by one or more users. Of course, thepresent disclosure is not limited to video games and, more generally,the information processing device may be any type of electronic devicewhose operations are controlled, at least partly, based on inputssupplied to one or more remote control devices. Examples of suchinformation processing devices include televisions; set-top boxes;cameras (video and still); radio-controlled drones; audio equipment;speakers; radios; lighting; garage doors; automobiles;recording/playback devices (e.g., digital video recorders); computers;audio/visual (AV) equipment; heating, ventilation and air conditioning(HVAC) equipment; ceiling fans; security systems; locks; alarm systems;thermostats; and the like. Consequently, even though the descriptionherein relates to a video game device, it will be readily appreciatedthat the present disclosure is widely applicable to many different typesof electronic devices.

As shown in FIG. 1, each remote control device 102 includes one or moreinput devices 106 (e.g., for manipulation by a user's fingers), one ormore sensors 108, one or more output devices 110, wireless communicationcircuitry 112, memory 113, and control circuitry 114. Bus 116 and/orother communication paths (not shown) allow communication among thesevarious components (via appropriate interfaces, if necessary).

Examples of input devices 106 include, but are not limited to, buttons,keys, sliders, joysticks, analog sticks, touch pads, touch panels, andthe like. The input devices may be physically arranged to allowconvenient manipulation by a user holding the remote control device withone or with two hands. Information corresponding to inputs supplied tothese input devices 106 (e.g., button states, keypresses, etc.) may beperiodically communicated to information processing device 104 viacommunication network 120. This input information may be used by one ormore processes performed by information processing device 104 undercontrol of control circuitry 164. For example, when the informationprocessing device is executing a video game application program, theinput information may be used to control game objects in athree-dimensional (3D) virtual game world.

Examples of sensors 108 include, but are not limited to, inertialsensors (e.g., accelerometers, gyroscopes, angular velocity sensors,etc.), magnetometers, cameras, image sensors, light sensors and thelike. The inertial sensors can detect aspects of orientation and/ormovement of the remote control device. Information corresponding tosensors 108 (e.g., sensor values) may be periodically communicated toinformation processing device 104 via communication network 120. Thissensor information may be used by one or more processes performed by theinformation processing device. For example, when the informationprocessing device is executing a video game application, the sensorinformation may be used to control game objects in a 3D virtual gameworld.

Examples of output devices 110 include, but are not limited to,displays, selectively illuminated indicators (e.g., LEDs), speakers, andtactile devices such as one or more vibration motors. Such outputdevices may be controlled by the control circuitry 114. The control maybe implemented locally by control circuitry 114 and/or be based oninformation received by the remote control device from informationprocessing device 104 over wireless communication network 120. Forexample, information processing device 104 may transmit motor controlsignals for controlling one or more vibration motors included in theremote control device to thereby provide various tactile sensations to auser holding the remote control device. In addition, the remote controldevice may transmit vibration motor information (e.g., stateinformation) to the information processing device. Informationprocessing device 104 may also transmit information for visual and/oraural output via a display and/or speaker(s) of the remote controldevice.

Wireless communication circuitry 112 enables wireless communicationbetween remote control device 102 and information processing device 104in accordance with one or more communication standards such asBluetooth, Wi-Fi, ultra wideband (UWB), wireless USB and Zigbee. Othercommunication standards for near field, short-distance, andlong-distance communication may also be used and the present disclosureis not limited in this respect. Wireless communication circuitry 112 mayalso enable internet communication, for example, via a wirelessconnection to an access point (not shown).

Memory 113 (e.g., non-transitory memory such as flash, EPROM, EEPROM,magnetic memory, optical memory, magneto-optical memory, and the like)provides storage for the operations of remote control device 102. Thememory may store and operating system, firmware and/or software which isexecutable by control circuitry 114 for controlling operations of theremote control device. Memory 113 may also store information about thestates of buttons, keys, sticks, etc., as well as values from thesensors 108, prior to communication to information processing device104. Memory 113 may also be used to store information for the outputdevices 110 (e.g., video information, audio information, motor controlinformation, and the like received from information processing device104).

Control circuitry 114 controls operations of the remote control device.The control circuitry may include, for example, logic circuitry,application specific integrated circuits (ASICs), gate arrays (e.g.,floating point gate arrays), controllers, microcontrollers, processors,microprocessors, CPUs, dedicated hardware, and combinations thereof. Aswill be readily appreciated and understood, various operations describedherein may be performed by the control circuitry executing firmware orsoftware and/or by dedicated hardware circuitry included in the controlcircuitry. By way of example and without limitation, remote controldevices 102 may include serial flash memory storing updateable firmwarewhich is executable by a microcontroller for performing some or all ofthe various operations described herein. The firmware may be updated bycommunications from information processing device 104.

It is not necessary that each of the remote control devices 102 have thesame physical or electrical configuration. That is, remote controldevices 102 can differ in one or more of physical shape; types andnumbers of input devices, sensors and output devices; and physicallayouts or arrangement of the input devices, sensors and output devices.For example, in a pair of remote control devices, only one of the pairmay include a camera or a light sensor or be configured for near-fieldcommunication.

Non-limiting examples of remote control devices (e.g., remote controldevices 102-1 and 102-2) are shown in FIGS. 2 and 3. Specifically, FIG.2 shows an example remote control device 102-1 and FIG. 3 shows anexample remote control device 102-2. Each of remote control devices102-1 and 102-2 may be used by different players so that each player canprovide inputs for use by information processing device 104.Alternatively, remote control devices 102-1 and 102-2 can be usedsimultaneously by the same player. For example, the player may hold orgrasp remote control device 102-1 with his/her left hand and remotecontrol device 102-2 with his/her right hand. For some multi-playergames, a first player may use a single remote control device while asecond player may use two remote control devices. The numbers and typesof remote control devices may vary depending on the game, the number ofplayers, the number and type of remote control devices available andother factors.

As shown in FIG. 2, example remote control device 102-1 includes ananalog stick 232 (also referred to as StickL in FIG. 7B) for allowing auser to provide a direction input. Analog stick 232 includes a stickmember that can be tilted in any direction (i.e., 360 degrees includingupper, lower, left, right and diagonal directions). A user can tilt thestick member to make a direction input based on the tilt direction, aswell as a magnitude input based on the tilt angle. Remote control device102-1 includes four operation buttons 233, 234, 235 and 236(specifically, a right direction button 233, a down direction button234, an up direction button 235 and a left direction button 236). Theseoperation buttons 233, 234, 235 and 236 are usable to provide inputs inaccordance with various programs (e.g., operating system programs andapplication programs) executed by information processing device 104. Forexample, the buttons 233, 234, 235 and 236 can be used to providedirection inputs.

Remote control device also includes a record button 237 for allowing auser to input an instruction for saving an image displayed on a display412 (see FIG. 4) of information processing device 104. For example, whena game image is displayed on display 412, record button 237 can bepressed to save the displayed game image in a memory of informationprocessing device 104.

Remote control device 102-1 also includes a minus (−) button 247 forallowing a user to provide inputs in accordance with various programsexecuted by information processing device 104 (e.g., operating systemprograms and application programs). Minus button 247 is usable, forexample, as a select button (e.g., a button for moving a selectionhighlight through different selection items) in game applications.

Remote control device 102-1 includes a first L button 238 and a ZLbutton 239. As with operation buttons 233, 234, 235 and 236, operationbuttons 238 and 239 can be used to provide inputs in accordance withvarious programs executed by information processing device 104. Remotecontrol device 102-1 also includes a second L (SL-1) button 243 and asecond R (SR-1) button 244. These buttons can be used to provide inputsin accordance with various programs executed by information processingdevice 104.

Remote control device 102-1 includes a pairing button 246 for a pairingprocess to pair (e.g., by Bluetooth pairing) remote control device 102-1and information processing device 104. Generally speaking, pairingrefers to a connection for information transmission/reception betweenthe remote control device and the information processing device. Whenpairing is performed, two-way data transmission/reception is enabledbetween the remote control device and the information processing device.The pairing process may be performed by the control circuitry and thecommunication circuitry of the respective remote control device andinformation processing device. Pairing may be performed throughBluetooth, Near Field Communication (NFC), etc.

Remote control device 102-1 includes an acceleration sensor (not shownin FIG. 2) including, for example, an accelerometer. In an exampleembodiment, the acceleration sensor is a three (3) axis sensorconfigured to detect the magnitude of the linear acceleration alongdirections of three predetermined axes (e.g., the x, y, and z axes). Inother embodiments, the acceleration sensor may detect acceleration inone axis direction or two axis directions.

Remote control device 102-1 also includes an angular velocity sensor(not shown in FIG. 2) including, for example, a gyroscope. In an exampleembodiment, the angular velocity sensor is a three (3) axis angularvelocity sensor for detecting angular velocity about three predeterminedaxes (e.g., the x, y, and z axes). In other embodiments, the angularvelocity sensor may detect angular velocity about one axis or two axes.

In an example embodiment, the acceleration sensor of remote controldevice 102-1 is a 3-axis sensor and the angular velocity sensor ofremote control device 102-1 is a 3-axis sensor and thus these sensorsmay be collectively referred to as a six (6) axis sensor.

As shown in FIG. 3, remote control device 102-2 includes an analog stick352 (also referred to as StickR in FIG. 7B) for allowing a user toprovide a direction input. Analog stick 352 may have the sameconfiguration as analog stick 232 of remote control device 102-1. Asdoes remote control device 102-1, remote control device 102-2 includesfour operation buttons 353, 354, 355 and 356 (specifically, A button353, B button 354, X button 355 and Y button 356). These four operationbuttons 353, 354, 355 and 356 are configured similarly to the fouroperation buttons 233, 234, 235 and 236 of remote control device 102-1.

Remote control device 102-2 also includes a plus (+) button 357 which isusable for inputs in accordance with various programs executed oninformation processing device (e.g., the OS program and applicationprograms). Plus button 357 may be used, for example, as a start buttonin a game application.

Remote control device 102-2 includes a home button 358 for causing, forexample, display of a predetermined menu screen on a display (e.g.,display 412—see FIG. 4) of the information processing device. An Rbutton 360 and a ZR button 361, along with a second L (SL-2) button 365and a second R (SR-2) button 366 are also provided. These buttons areoperable to provide inputs in accordance with various programs executedon information processing device 104.

Remote control device 102-2 includes a pairing button 369. As withpairing button 246 of remote control device 102-1, pairing button 369 isoperable for inputting an instruction for a pairing process, forexample, for pairing remote control device 102-2 with informationproceeding device 104.

Remote control device 102-2 includes an acceleration sensor (not shownin FIG. 3) including, for example, an accelerometer. In an exampleembodiment, the acceleration sensor is a three (3) axis sensorconfigured to detect the magnitude of the linear acceleration alongdirections of three predetermined axes (e.g., the x, y, and z axes). Inother embodiments, the acceleration sensor may detect acceleration inone axis direction or two axis directions.

Remote control device 102-2 also includes an angular velocity sensor(not shown in FIG. 3) including, for example, a gyroscope. In an exampleembodiment, the angular velocity sensor is a three (3) axis angularvelocity sensor for detecting angular velocity about three predeterminedaxes (e.g., the x, y, and z axes). In other embodiment, the angularvelocity sensor may detect angular velocity about one axis or two axes.

In an example embodiment, the acceleration sensor of remote controldevice 102-2 is a 3-axis sensor and the angular velocity sensor ofremote control device 102-2 is a 3-axis sensor and thus these sensorsmay be collectively referred to as a six (6) axis sensor.

Additional details about remote control devices 102-1 and 102-2 areprovided in U.S. application Ser. No. 15/179,022, which corresponds toU.S. Patent Publication No. 2016/0361641. The contents of the '022application are incorporated herein in their entirety.

There is no limitation on the shape, the number and the arrangement ofthe various buttons, sticks and sensors described above for remotecontrol devices 102-1 and 102-2. As another example embodiment, a singleremote control device (not shown) holdable by two hands may “combine”some or even all of the features (e.g., buttons and sensors) of remotecontrol devices 102-1 and 102-2. Other example remote control devicesmay omit at least some of the described buttons of remote controldevices 102-1 and 102-2.

Referring back to FIG. 1, information processing device 104 includes oneor more input devices 156 (e.g., for manipulation by a user's fingers),one or more sensors 158, one or more output devices 160, wirelesscommunication circuitry 162, memory 163, and control circuitry 164. Bus166 and/or other communication paths (not shown) allow communicationamong these various components (via appropriate interfaces, ifnecessary).

Examples of input devices 156 include, but are not limited to, buttons,keys, sliders, joysticks, sticks, touch pads, touch panels, and thelike. Information associated with inputs to these input devices 156 maybe used by one or more processes performed by information processingdevice 104 under control of control circuitry 164. For example, when theinformation processing device is executing a video game applicationprogram, the input information may be used to control game objects in athree-dimensional (3D) virtual game world.

Examples of sensors 158 include, but are not limited to, inertialsensors (e.g., accelerometers, gyroscopes, angular velocity sensors,etc.), magnetometers, cameras, image sensors, light sensors and thelike. Among other things, such sensors can be used to detect aspects oforientation and/or movement of the information processing device.Information associated with sensors 108 may be used by one or moreprocesses performed by the information processing device. For example,when the information processing device is executing a video gameapplication program, the input information may be used to control gameobjects in a 3D virtual game world.

Examples of output devices 160 include, but are not limited to,displays, selectively illuminated indicators (e.g., LEDs), speakers, andtactile devices such as vibration motors. Such output devices may becontrolled by the control circuitry 164.

Wireless communication circuitry 162 enables wireless communicationbetween remote control devices 102 and information processing device 104in accordance with one or more communication standards such asBluetooth, Wi-Fi, ultra wideband (UWB), wireless USB and Zigbee. Othercommunication standards for near field, short-distance, andlong-distance communication may also be used and the present disclosureis not limited in this respect. Wireless communication circuitry 162 mayalso enable internet communication, for example, via a wirelessconnection to an access point 126.

Memory 163 (e.g., non-transitory memory such as flash, EPROM, EEPROM,magnetic memory, optical memory, magneto-optical memory, and the like)provides storage for the operations of information processing device104. The memory may store an operating system, firmware and/or software(including application programs) which are executable by controlcircuitry 164 for controlling operations of the remote control device.Memory 163 may also store information received from the remote controldevices for use by control circuitry 164, along with information fortransmission to the remote control devices. Memory 163 may also be usedto store information for the output devices 160 (e.g., videoinformation, audio information, and the like).

Control circuitry 164 controls the overall operation of informationprocessing device 104. The control circuitry may include logiccircuitry, application specific integrated circuits (ASICs), gate arrays(e.g., floating point gate arrays), controllers, processors,microprocessors, CPU's and/or combinations thereof. As will be readilyappreciated and understood, the various operations described herein maybe performed by the control circuitry executing firmware or softwareand/or by the control circuitry including dedicated hardware circuitry.

FIG. 4 shows a non-limiting example of information processing device104. Information processing device 104 includes a housing 411 having adisplay 412 (e.g., an LCD display) on a front surface thereof fordisplaying an image (which may be a still image or a video image)obtained or produced by the information processing device. A touch panel413 is also provided. By way of example, the touch panel may be of atype (e.g., the capacitive type) that enables a multi-touch input, butthe present disclosure is not limited in this respect.

As described in the above-mentioned '022 application, the housing ofexample information processing device 104 and the housings of remotecontrol devices 102 may each be configured to allow the remote controldevices to be physically removably attachable to the informationprocessing device. Details regarding such removeable attachment areprovided the '022 application, the contents of which are incorporatedherein.

Speaker holes 411 a and 411 b allow output of sound from a speaker (notshown in FIG. 4) contained in the housing of the information processingdevice. A window 414 is provided to allow ambient light to be receivedby an ambient light sensor (not shown in FIG. 4) contained in thehousing.

A first slot 423 is provided on the upper side surface of housing 411and is configured to accommodate a storage medium of a first type suchas proprietary memory card for use with the information processingdevice. The storage medium of the first type is used, for example, forstoring information and/or for storing programs to be executed (e.g.,application programs, etc.). Control circuitry 164 is configured to haveread/write access to the storage medium.

A power button 428 is provided on the upper side surface of the housing411. The power button 428 is a button for turning ON/OFF the power ofthe information processing device. A sound input/output terminal(specifically, a jack) 425 enables a microphone or an earphone to beattached to the information processing device. Sound volume buttons 426a and 426 b allow adjustment of the volume of the sound output from theinformation processing device. A second slot 424 is configured toaccommodate a storage medium of a second type, which is different fromthe first type. A storage medium of the second type may be, for example,a general-purpose storage medium, e.g., an SD card. The storage mediumof the second type is used for storing information (e.g., applicationsave data, etc.) and/or for storing programs to be executed (e.g.,application programs, etc.). Control circuitry 164 is configured to haveread/write access to the storage medium.

Additional information about the example information processing deviceof FIG. 4 can be found in the above-mentioned '022 application, thecontents of which are incorporated herein in their entirety.

Various commands and responses thereto can be communicated betweeninformation processing device 104 and remote control devices 102. Suchcommands can, for example, configure remote control devices 102 (e.g.,provide settings for vibration motors), update firmware of the remotecontrol devices, or obtain status information from the remote controldevices. In a non-limiting example embodiment, a command is a multi-bytepacket. In the case of Bluetooth, the command uses 2-DH1 and does notuse multiple slots. Each command is specified by a command identifier(e.g., cmd_id of 1 byte).

An example command sequence is shown in FIG. 5. In this examplesequence, information processing device 104 sends a HID (Human InterfaceDevice) Command (ReportID: 0x01). When a remote control device 102receives the HID command, the command is processed by the remote controldevice until a timing of the next HID slot. Remote control device 102replies back to information processing device 104 by a HID Command(ReportID: 0x21) with the result of the command processing.

In one example command, information processing device 104 requestsstatus information from remote control devices 102. In the case of theremote control devices 102-1 and 102-2 described above, the statusinformation includes status information about the buttons, analog stickand 6-axis sensor thereof, for example. When a remote control device 102and information processing device 104 are paired using the Bluetoothcommunication protocol, a 1 slot packet (2-DH1) is used for both HIDoutput report and input report. Supported communication intervalsinclude 5 milliseconds (msec), 10 msec, 15 msec and active.

FIG. 6A shows information about an example output report for the reportID 0x10 shown in FIG. 5. As shown in FIG. 6A, the supported Bluetoothintervals are 5 msec, 10 msec, 15 msec and active and the Bluetoothpacket type is 2-DH1. The supported UART intervals are 5 msec, 10 msec,15 msec. The command may also include up to eight (8) bytes forvibration motor-related information.

FIG. 6B shows information about an example input report for the reportID 0x20 shown in FIG. 5. As shown in FIG. 6B, the supported Bluetoothintervals are 5 msec, 10 msec, 15 msec and active and the Bluetoothpacket type is 2-DH1. The supported UART intervals are 5 msec, 10 msec,and 15 msec. The packet includes (3) bytes for button statusinformation, six (6) bytes for analog stick data, 36 bytes for 6-axissensor information and one (1) byte for motor information. The packetalso includes a one (1) byte HID sample number which is incremented foreach HID packet. This sample number can be used, for example, indetermining whether a packet(s) is lost. In a case of re-transmitting apacket, it is not necessary to increment this sample number. The packetcan also include 3-bit battery level information and 1-bit chargeinformation indicating whether the battery is currently being charged.Certain remote control devices 102 may be configured for physicalattachment to information processing device 104 and the packet mayinclude attachment detection information.

A non-limiting more detailed data format for the output report commandis shown in FIG. 7A. With reference to FIG. 7A, byte 0 of the outputreport data format is a header and byte 1 is the report ID. Four (4)bits of byte 3 are the HID sample number and bytes 3-10 contain motorparameter information for vibration motor(s) in the remote controldevice. In particular, this vibration motor information may be used tocontrol the vibration motor(s) in the remote control device to providetactile output for a user holding the remote control device. Byte 11 maycontain a command identifier and bytes 12-49 may include a commandpayload associated with the command corresponding to the commandidentifier.

A non-limiting more detailed data format for the input report is shownin FIG. 7B. This input report is the reply by the remote control deviceto the output report command shown in FIG. 7A. The timing of the replyis determined by the communication interval, e.g., 5 msec, 10 msec or 15msec. The fields of the input report contain button information, stickinformation, sensor information, and the like that is current at thetime the reply is sent. For example, button information, stickinformation, sensor information and the like is sampled at predeterminedintervals and the result of the sampling may be stored in memory of theremote control device (e.g., memory 113 of remote control device 102-1or memory 163 of remote control device 102-2). The sampling rate may,for example, be 5 msec, although the present disclosure is not limitedin this respect. In some instances, the sampling rate may be determinedbased on the communication interval and there may be different samplingrates for different components. For example, the sampling rate forbutton and analog stick states may be sampled at one rate and the valuesfor the inertial sensors may a sampled at a different rate. As will bediscussed in greater detail below, in addition to sending current samplevalues for the acceleration sensor and the gyroscopic sensor, the dataformat disclosed herein also provides for sending at least two previoussample values for the acceleration sensor and the gyroscopic sensor.Thus, if sample S3_(a) is the current sample value for the accelerationsensor, the data format provides for sending prior sample values S2_(a)and S1_(a) along with the current sample value. Similarly, if sampleS3_(g) is the current sample value for the angular velocity (gyroscope)sensor, the data format provides for sending prior sample values S2_(g)and S1_(g) along with the current sample value.

In this example embodiment, the data format of FIG. 7B is used for alltypes of remote control devices 102 that are communicating with theinformation processing device. For example, this data format is used forremote control devices 102-1 and 102-2, as well as for a single remotecontrol device that includes some or all of the buttons, analog sticksand sensors of remote control devices 102-1 and 102-2. If a particularremote control device does not generate data corresponding to aparticular field of the data format, the remote control device does nottransmit data for that field. This may be accomplished, for example, bya transmitting a pre-determined value for the particular field (e.g.,0). The firmware for each respective remote control device may, forexample, be configured to determine the configuration of the respectiveremote control device and to appropriately populate the informationfields of FIG. 7B.

With reference to FIG. 7B, the input report includes 50 bytes, i.e.,bytes 0 to 49. Byte 0 includes header information, byte 1 includes areport identifier and byte 2 includes the HID sample number. Asdiscussed above, the HID sample number can be used by informationprocessing device 104 to determine whether any reply packets are lost.

Byte 3 includes fields for a 3-bit value representing a current batterylevel of the remote control device, a 1-bit value representing whetherthe remote control is currently being charged (e.g., by physicalattachment to a device configured to charge the remote control device),and a 3-bit and 1-bit value representing information about the physicalattachment of the remote control device to some other device. Forexample, one or both of these values may represent a type of device towhich the remote control device is attached (e.g., informationprocessing device 104, a battery charger, etc.).

Bytes 4 through 6 include fields for various 1-bit values eachrepresenting a state of a button or stick corresponding to the field.For example, a first value (“1”) may indicate that an input is currentlysupplied to a particular button/stick and a second value (“0”) mayindicate that no input is currently supplied to a particularbutton/stick. As mentioned above, not every remote control device willhave buttons, etc. corresponding to each of these fields and, in thiscase, that remote control may, for example, transmit no data for anyfield corresponding to a button, etc. not present on that remote controldevice. In the FIG. 7B example, the 1-bit fields correspond to ZL, L,SR-1, SR-2, SL-1, SL-2, Left, Right, Up, Down, Plus, Minus, StickR(Right Stick), StickL (Left Stick), Home, Record, ZR, R, A, B, X, and Ybuttons/sticks described with reference to FIGS. 2 and 3 above. The1-bit values also include a “powered” field representing whether poweris being supplied to the circuits in the remote control device and a“null” or reserved field.

Bytes 7 through 12 includes fields for values associated with analogsticks 232 and 352. For example, the fields include a 12-bit valuerepresenting the tilt direction of stick 232, a 12-bit valuerepresenting the magnitude of the tilt of stick 232, a 12-bit valuerepresenting the tilt direction of stick 352, and a 12-bit valuerepresenting the magnitude of the tilt of stick 352. Remote controldevice 102-1 transmits no data for the fields corresponding to the tiltmagnitude and direction for stick 352 and remote control device 102-2transmits no data for the fields corresponding to the tilt magnitude anddirection for stick 232. It will be readily apparent that because thestick values are 12-bit values, parts of each value will need to be sentin different bytes.

Byte 13 of the input report data format includes motor parameters forvibration motor(s) contained in the remote control device. Theseparameters may be 4-bit parameters and represent the current state ofthe motor(s).

Bytes 14-49 of the input report data format are for sending informationcorresponding to sensor values for the acceleration sensor and angularvelocity sensor of the remote control device. With reference to FIG. 7B,bytes 14-19 represent an X-axis value of the acceleration sensor, aY-axis value of the acceleration sensor, and a Z-axis value of theacceleration sensor. Similarly, bytes 20-25 represent an X-axis value ofthe angular velocity sensor, a Y-axis value of the angular velocitysensor, and a Z-axis value of the angular velocity sensor. Inparticular, bytes 14-25 represent values corresponding to sensor valuessampled for the acceleration sensor and angular velocity sensor,respectively, at a current sample time.

Bytes 26-37 represent values corresponding to the sensor values for theacceleration sensor and angular velocity sensor, respectively, at asample time prior to the current sample time (i.e., current sample timeminus 1).

Bytes 38-49 represent values corresponding to the sensor values for theacceleration sensor and angular velocity sensor, respectively, at asample time twice removed from the current sample time (i.e., currentsample time minus 2).

More specifically, in a non-limiting example embodiment of the presentdisclosure, remote control devices 102-1 and 102-2 each acquiresrespective sample values for the accelerometer sensor and the angularvelocity sensor every 5 milliseconds. In the data format of FIG. 7B,each of these remote control devices transmits to the informationprocessing device 104 first sample values for the acceleration sensorand the angular velocity sensor acquired at a current timing, secondsample values acquired 5 msec previously, and third sample valuesacquired 10 msec previously. Thus, each transmission from the remotecontrol device includes three (3) sample values for the accelerationsensor and the angular velocity sensor. For the buttons, stick, andother information contained in bytes 3-13, each transmission from theremote control device includes one sample value corresponding to acurrent timing.

As noted above, different communication intervals (e.g., 5 msec, 10 msecor 15 msec) for communications between the remote control devices andthe information processing device can be set based on, for example, thenumber of remote control devices communicating with the informationprocessing device. Generally speaking, the more remote control devicescommunicating with the information processing device, the longer thecommunication interval. For example, when eight (8) remote controldevices are communicating with the information processing terminal, the15 millisecond communication interval may be set. The communicationinterval may also be set based on whether one or more remote controldevices is communicating a large amount of data to the informationprocessing device. For example, if one or more remote control devices iscommunicating information associated with an image captured by a cameraof the remote control device (using a report other than that shown inFIG. 7B), a longer communication interval may be set. The communicationinterval may also be set in consideration of the type of applicationprogram being executed by information processing device 104.

TABLE I below illustrates transmitting sample values for an accelerationsensor or a gyroscope in accordance with the data format of FIG. 7B witha communication interval of 15 msec. For purposes of the discussionbelow with reference to TABLES I, II and II, acceleration sensor valuesare described, but the explanation applies equally to angular velocitysensor values. The discussion below assumes that the acceleration sensorvalues are sampled every 5 msec.

In particular, at 5 msec after receiving the output report command, theremote control device obtains a sample value S1 of the accelerationsensor and transmits this acceleration sensor value with an initial HIDsample value (e.g., 0). Because this is the first sample value, thereare no previous acceleration sensor values. Hence, the otheracceleration sensor value fields in the data format of FIG. 7B are setto null values (e.g., 0).

In accordance with the communication interval of 15 msec, the nexttransmission from the remote control device is at 20 msec. Because thesampling interval for acceleration sensor values is 5 msec, a sample S2at 10 msec and a sample S3 at 15 msec are obtained and stored in thememory of the remote control device. At the time of the nexttransmission (i.e., 20 msec), a current sample value of the accelerationsensor (S4) is transmitted, along with the sample values S2 and S3, witha HID sample value of 1.

After the 20 msec transmission, the next transmission from the remotecontrol device is at 35 msec. Because the sampling interval foracceleration sensor values is 5 msec, a sample S5 at 25 msec and asample S6 at 30 msec are obtained and these sample values are stored inthe memory of the remote control device. At the time of the nexttransmission (i.e., 35 msec), a current sample value of the accelerationsensor (S7) is transmitted, along with the sample values 55 and S6, witha HID sample value of 2.

After the 35 msec transmission, the next transmission from the remotecontrol device is at 50 msec. Because the sampling interval foracceleration sensor values is 5 msec, a sample S8 at 40 msec and asample S9 at 45 msec are obtained and these sample values are stored inthe memory of the remote control device. At the time of the nexttransmission (i.e., 50 msec), a current sample value of the accelerationsensor (S10) is transmitted, along with the sample values S8 and S9,with a HID sample value of 3.

TABLE I (15 millisecond communication interval) Time (msec) Sample valueHID sample value Packet 5 S1 0 null, null, S1 10 S2 — — 15 S3 — — 20 S41 S2, S3, S4 25 S5 — — 30 S6 — — 35 S7 2 S5, S6, S7 40 S8 — — 45 S9 — —50 S10 3 S8, S9, S10

TABLE II below illustrates transmitting sample values for anacceleration sensor in accordance with the data format of FIG. 7B with acommunication interval of 10 msec.

In particular, at 5 msec after receiving the output report command, theremote control device obtains a sample value S1 of the accelerationsensor and transmits this acceleration sensor value with an initial HIDsample value (e.g., 0). Because this is the first sample value, thereare no previous acceleration sensor values. Hence, the otheracceleration sensor value fields in the data format of FIG. 7B are setto null values.

In accordance with the communication interval of 10 msec, the nexttransmission from the remote control device is at 15 msec. Because thesampling interval for acceleration sensor values is 5 msec, a sample S2at 10 msec is obtained and this sample value is stored in the memory ofthe remote control device. At the time of the next transmission (i.e.,15 msec), a current sample value of the acceleration sensor (S3) istransmitted, along with the sample values S2 and S1, with a HID samplevalue of 1.

After the 15 msec transmission, the next transmission from the remotecontrol device is at 25 msec. Because the sampling interval foracceleration sensor values is 5 msec, a sample S4 at 20 msec is obtainedand this sample value is stored in memory of the remote control device.At the time of the next transmission (i.e., 25 msec), a current samplevalue of the acceleration sensor (S5) is transmitted, along with thesample values S4 and S3, with a HID sample value of 2.

After the 25 msec transmission, the next transmission from the remotecontrol device is at 35 msec. Because the sampling interval foracceleration sensor values is 5 msec, a sample S6 at 30 msec is obtainedand this sample value is stored in the memory of the remote controldevice. At the time of the next transmission (i.e., 35 msec), a currentsample value of the acceleration sensor (S7) is transmitted, along withthe sample values S6 and S5, with a HID sample value of 3.

After the 35 msec transmission, the next transmission from the remotecontrol device is at 45 msec. Because the sampling interval foracceleration sensor values is 5 msec, a sample S8 at 40 msec is obtainedand this sample value is stored in the memory of the remote controldevice. At the time of the next transmission (i.e., 45 msec), a currentsample value of the acceleration sensor (S9) is transmitted, along withthe sample values S8 and S7, with a HID sample value of 4.

TABLE II (10 millisecond communication interval) Time (msec) Samplevalue HID sample value Packet 5 S1 0 null, null, S1 10 S2 — — 15 S3 1S1, S2, S3 20 S4 — 25 S5 2 S3, S4, S5 30 S6 — — 35 S7 3 S5, S6, S7 40 S8— — 45 S9 4 S7, S8, S9 50 S10 — —

TABLE III below illustrates transmitting sample values for anacceleration sensor in accordance with the data format of FIG. 7B with acommunication interval of 5 msec.

In particular, at 5 msec after receiving the output report command, theremote control device obtains a sample value S1 of the accelerationsensor, stores the sample value in memory, and transmits thisacceleration sensor value with an initial HID sample value (e.g., 0).Because this is the first sample value, there are no previousacceleration sensor values. Hence, the other acceleration sensor valuefields in the data format of FIG. 7B are set to null values.

In accordance with the communication interval of 5 msec, the nexttransmission from the remote control device is at 10 msec. Because thesampling interval for acceleration sensor values is 5 msec, a currentsample value of the acceleration sensor (S2) is transmitted, along withthe sample values S1, with a HID sample value of 1. Because this is theonly second sample value, the acceleration sensor value fields for thethird sample in the data format of FIG. 7B are set to null values.

After the 10 msec transmission, the next transmission from the remotecontrol device is at 15 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S3) is transmitted, along with the sample values S2and S1, with a HID sample value of 2.

After the 15 msec transmission, the next transmission from the remotecontrol device is at 20 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S4) is transmitted, along with the sample values S3and S2, with a HID sample value of 3.

After the 20 msec transmission, the next transmission from the remotecontrol device is at 25 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S5) is transmitted, along with the sample values S4and S3, with a HID sample value of 4.

After the 25 msec transmission, the next transmission from the remotecontrol device is at 30 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S6) is transmitted, along with the sample values S5and S4, with a HID sample value of 5.

After the 30 msec transmission, the next transmission from the remotecontrol device is at 35 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S7) is transmitted, along with the sample values S6and S5, with a HID sample value of 6.

After the 35 msec transmission, the next transmission from the remotecontrol device is at 40 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S8) is transmitted, along with the sample values S7and S6, with a HID sample value of 7.

After the 40 msec transmission, the next transmission from the remotecontrol device is at 45 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S9) is transmitted, along with the sample values S8and S7, with a HID sample value of 8.

After the 45 msec transmission, the next transmission from the remotecontrol device is at 50 msec. Because the sampling interval foracceleration sensor values is 5 msec, a current sample value of theacceleration sensor (S10) is transmitted, along with the sample valuesS9 and S8, with a HID sample value of 9.

TABLE III (5 millisecond communication interval) Time (msec) Samplevalue HID sample value Packet 5 S1 0 null, null, S1 10 S2 1 Null, S1, S215 S3 2 S1, S2, S3 20 S4 3 S2, S3, S4 25 S5 4 S3, S4, S5 30 S6 5 S4, S5,S6 35 S7 6 S5, S6, S7 40 S8 7 S6, S7, S8 45 S9 8 S7, S8, S9 50 S10 9 S8,S9, S10

As can be seen with reference to the above tables, when a 5 mseccommunication interval is set, the disclosed data format results in eachsample value being transmitted three times. For example, sample value S4is transmitted in the packets associated with HID values 3, 4 and 5.Thus, if the packet at 20 msec is lost, the information processingdevice can restore the S4 sample value using the packet transmitted at25 msec. If both the packets at 20 msec and at 25 msec are lost, theinformation processing device can restore the S4 sample value using thepacket transmitted at 30 msec. Thus, for the 5 msec communicationinterval, the information processing device can restore a sample valueeven if two packets are lost. Indeed, the information processing devicecan obtain complete data for sample values S1, S2, S3, S4, 55 and S6even if both the packets at 20 msec and 25 msec were to be lost or notreceived.

In the 10 msec interval, certain sample values are transmitted twice.For example, sample value S3 is contained in the packets transmitted at15 msec and at 25 msec. Thus, in this instance, the disclosed dataformat allows recovery of at least some information when a packet islost.

In the 15 msec communication interval, each sample value is communicatedonly once and the sample values cannot be restored if a packet is lost.

As noted above, the information processing device can determine whethera packet is lost based on the HID sample number included in the packetstransmitted from the remote control devices to the informationprocessing device. With reference to the data format of FIG. 7B, 7 bitsare allocated for the HID sample number and thus the HID sample numbercan assume values from 0-255.

As processing of the sensor values from the acceleration sensor and theangular velocity sensor by the information processing device proceeds,multiple sensor values are often accumulated for calculation purposes.These accumulated values can allow for better calculation of aspects ofmovement and orientation of the remote control device. Consequently,even loss of one packet can change the calculated orientation/movementresult significantly. This is different than the information for abutton press in which the loss of one packet typically does not affectthe processing of the information processing device as much. Thus, thedata format and the variable communication intervals described hereinallow for improved inertial sensor calculations even when packets arelost. As discussed above, in the case of the 5 msec communicationinterval, the disclosed data format allows for recovery of all inertialsensor values even when two consecutive packets are lost.

An example process for setting the communication interval will now bedescribed with reference to FIG. 8. At ST 801, information processingdevice 104 checks whether the number of remote control devicescommunicating with the information processing device changes or one ofthe remote control devices begins to communicate large amounts of datato the information processing device. If not, ST 801 is repeated. If so,the information processing device determines the communication interval(e.g., 5 msec, 10 msec or 15 msec) at ST 802 based on the number ofremote control devices in communication with the information processingdevice and/or the amount/type of information to be communicated from oneor more of the information processing devices and/or the type of programbeing executed. As noted above, generally speaking, the more remotecontrol devices in communication with the information processing device,the longer the communication interval. Similarly, the more data to becommunicated to the information processing device, the longer thecommunication interval.

At ST 803, the information processing device notifies the remote controldevices of the determined communication interval. At ST 804, the remotecontrol device receives the information about the determinedcommunication interval from the information processing device and at ST805 sends a response to the information processing device. The remotecontrol device also sets itself to communicate at the communicationinterval at ST 805. The information processing device receives theresponse from the remote control device at ST 806 and sets thecommunication interval. Thereafter, at ST 807, the informationprocessing device and the remote control device communicate with eachother using the set communication interval.

Although example embodiments of the present disclosure have beenillustrated and described hereinabove, the present disclosure is notlimited to the above-mentioned specific example embodiments, but may bevariously modified by those skilled in the art to which the presentdisclosure pertains without departing from the scope and spirit of thedisclosure as disclosed in the accompanying claims. These modificationsshould also be understood to fall within the scope of the presentdisclosure.

1: A remote control device, comprising: an inertial sensor; one or moremanipulable input devices; wireless communication circuitry; and controlcircuitry for controlling the wireless communication circuitry tocommunicate information about the inertial sensor and the input devicesto an electronic device, wherein the information is communicated at oneor more communication intervals using a data format which permits avalue associated with the inertial sensor and sampled at a givensampling time to be communicated in at least first and second differentcommunications, wherein each communication is 50 bytes including byte 0to byte
 49. 2: The remote control device according to claim 1, whereinthe value associated with the inertial sensor at the given sampling timeis communicated in first, second and third different communications. 3:The remote control device according to claim 1, wherein the inertialsensor comprises an accelerometer. 4: The remote control deviceaccording to claim 1, wherein the inertial sensor comprises a gyroscope.5: The remote control device according to claim 1, wherein the inertialsensor comprises an accelerometer and a gyroscope. 6: The remote controldevice according to claim 1, wherein no value associated with any inputdevice and sampled at the given sampling time is communicated in thefirst and second different communications. 7: The remote control deviceaccording to claim 1, wherein the input devices are arranged to bemanipulable by a single hand grasping a housing of the remote controldevice. 8: The remote control device according to claim 1, wherein atleast one of the input devices is arranged to be manipulable by a righthand and at least one other of the input devices is arranged to bemanipulable by a left hand when the remote control device is held usingthe right and left hands. 9: The remote control device according toclaim 1, wherein the one or more input devices includes an analog stick.10: The remote control device according to claim 1, wherein the wirelesscommunication circuitry is configured for Bluetooth communication. 11:The remote control device according to claim 1, wherein the one or morecommunication intervals include 5 milliseconds (msec), 10 msec and 15msec. 12: The remote control device according to claim 11, wherein thevalue associated with the inertial sensor at the given sampling time iscommunicated in first, second and third different communications whenthe communication interval is 5 msec. 13: The remote control deviceaccording to claim 12, wherein the first, second and thirdcommunications are consecutive. 14: The remote control device accordingto claim 11, wherein the communication interval is set in response to acommand from the electronic device.
 15. (canceled) 16: The remotecontrol device according to claim 1, wherein byte 4 to byte 6 representstate information about one or more of the input devices. 17: The remotecontrol device according to claim 16, wherein each piece of stateinformation is one-bit state information. 18: The remote control deviceaccording to claim 1, wherein bytes 14-25 represent inertial sensorvalues at a first sampling time, bytes 26-37 represent inertial sensorvalues at a second sampling time different than the first sampling time,and bytes 38-49 represent inertial sensor values at a third samplingtime different than the first and second sampling times. 19: The remotecontrol device according to claim 18, wherein the first, second andthird sampling times are consecutive sampling times. 20: The remotecontrol device according to claim 18, wherein the inertial sensor valuesat the first, second and third sampling times are six-axis inertialsensor values. 21: The remote control device according to claim 1,wherein the one or more input devices include an analog stick and byte 7to byte 12 represent analog stick values. 22: A communication systemcomprising: an electronic device; and a remote control device, theremote control device comprising: an inertial sensor; one or moremanipulable input devices; wireless communication circuitry; and controlcircuitry for controlling the wireless communication circuitry tocommunicate information about the inertial sensor and the input devicesto the electronic device, wherein the information is communicated at oneor more communication intervals using a data format which permits avalue associated with the inertial sensor and sampled at a givensampling time to be communicated in at least first and second differentcommunications, wherein each communication is 50 bytes including byte 0to byte
 49. 23: The system according to claim 22, wherein thecommunication interval is set by the electronic device. 24: The systemaccording to claim 22, wherein no value associated with any input deviceand sampled at the given sampling time is communicated in the first andsecond different communications. 25: A method of communicatinginformation to an electronic device from a remote control devicecomprising an inertial sensor; one or more manipulable input devices;and wireless communication circuitry, the method comprising: acceptinginputs supplied to the input devices; receiving sensor values from theinertial sensor; controlling the wireless communication circuitry tocommunicate information about the inertial sensor and the input devicesto the electronic device, wherein the information is communicated at oneor more communication intervals using a data format which permits avalue associated with the inertial sensor and sampled at a givensampling time to be communicated in at least first and second differentcommunications, wherein each communication is 50 bytes including byte 0to byte
 49. 26: The method according to claim 25, wherein no valueassociated with any input device and sampled at the given sampling timeis communicated in the first and second different communications. 27: Anon-transitory computer-readable medium storing a program forcommunicating information from a remote control device comprising aninertial sensor; one or more manipulable input devices; and wirelesscommunication circuitry, the program, when executed by control circuitryof the remote control device, causing the remote control device to atleast: accept inputs supplied to the input devices; receive sensorvalues from the inertial senosr; control the wireless communicationcircuitry to communicate information about the inertial sensor and theinput devices to an electronic device, wherein the information iscommunicated at one or more communication intervals using a data formatwhich permits a value associated with the inertial sensor and sampled ata given sampling time to be communicated in at least first and seconddifferent communications, wherein each communication is 50 bytesincluding byte 0 to byte
 49. 28: The non-transitory computer-readablemedium according to claim 27, wherein no value associated with any inputdevice and sampled at the given sampling time is communicated in thefirst and second different communications. 29: The remote control deviceaccording to claim 11, wherein both a first value associated with theinertial sensor at a first sampling time and a second value associatedwith the inertial sensor at a second sampling time, different from thefirst sampling time, are communicated in each of the first and seconddifferent communications when the communication interval is 5 msec. 30:A remote control device, comprising: an inertial sensor; one or moremanipulable input devices; wireless communication circuitry; and controlcircuitry for controlling the wireless communication circuitry tocommunicate information about the inertial sensor and the input devicesto an electronic device, wherein the information is communicated at oneor more communication intervals using a data format which permits avalue associated with the inertial sensor and sampled at a givensampling time to be communicated in at least first and second differentcommunications, wherein the one or more communication intervals include5 milliseconds (msec), 10 msec and 15 msec, wherein both a first valueassociated with the inertial sensor at a first sampling time and asecond value associated with the inertial sensor at a second samplingtime, different from the first sampling time, are communicated in eachof the first and second different communications when the communicationinterval is 5 msec, and wherein a third value associated with theinertial sensor at a third sampling time, different from each of thefirst sampling time and the second sampling time, is communicated in thefirst communication. 31: The remote control device according to claim30, wherein a fourth value associated with the inertial sensor at afourth sampling time, different from each of the first sampling time,the second sampling time and the third sampling time, is communicated inthe second communication. 32: The remote control device according toclaim 11, wherein a first value associated with the inertial sensor at afirst sampling time is communicated in each of the first and seconddifferent communications when the communication interval is 10 msec. 33:A remote control device, comprising: an inertial sensor; one or moremanipulable input devices; wireless communication circuitry; and controlcircuitry for controlling the wireless communication circuitry tocommunicate information about the inertial sensor and the input devicesto an electronic device, wherein the information is communicated at oneor more communication intervals using a data format which permits avalue associated with the inertial sensor and sampled at a givensampling time to be communicated in at least first and second differentcommunications, wherein the one or more communication intervals include5 milliseconds (msec), 10 msec and 15 msec, wherein a first valueassociated with the inertial sensor at a first sampling time iscommunicated in each of the first and second different communicationswhen the communication interval is 10 msec, and wherein a second valueassociated with the inertial sensor at a second sampling time and athird value associated with the inertial sensor at a third samplingtime, different from each of the first sampling time and the secondsampling time, are communicated in the first communication. 34: Theremote control device according to claim 33, wherein a fourth valueassociated with the inertial sensor at a fourth sampling time, differentfrom each of the first sampling time, the second sampling time and thethird sampling time, and a fifth value associated with the inertialsensor at a fifth sampling time, different from each of the firstsampling time, the second sampling time, the third sampling time and thefourth sampling time, are communicated in the second communication.